JenkinsX构建前端解决npm依赖包慢的问题

您所在的位置:网站首页 docker build慢 JenkinsX构建前端解决npm依赖包慢的问题

JenkinsX构建前端解决npm依赖包慢的问题

2023-05-09 01:20| 来源: 网络整理| 查看: 265

背景

使用的是基于k8s环境的JenkinsX,JenkinsX是Jenkins在云环境的版本,支持k8s构建环境,就是通过启用各类构建工具的pod,比如node的pod,maven的pod。

遇到的问题

由于使用不熟练,遇到一些问题,总结下来供以后参考:

npm构建很慢 在k8s中由于容器使用过多节点资源,比如存储,导致节点驱逐容器,然后构建失败。这里比如k8s节点报错:Attemptting to reclaim ephemeral-storage

主要解决npm构建慢的问题

npm构建慢的解决方案

经过多次实践,解决方案如下: 第一种方案:简单直接,使用淘宝的npm镜像。这样其实速度能快很多

cd test npm config set registry http://registry.npm.taobao.org npm get registry npm i --legacy-peer-deps npm run build

这种方案有个问题:如果依赖包较多,导致容器耗费大量宿主机资源,会被宿主机驱逐然后导致构建失败,所以还要结合以下第二种方案,挂载pv。

第二种方案:缓存npm包,挂载k8s的pv到pod 1.1 把pv挂载node环境的pod容器的/node_modules下 1.2 进入项目目录,这里的项目目录为test,建立软连接:

cd test ln -s /node_modules ./node_modules npm i --legacy-peer-deps npm run build

这里使用npm i --legacy-peer-deps,若直接使用npm install会由于node版本原因报错

综合两种方案一起使用,最后的构建脚本如下: cd test ln -s /node_modules ./node_modules npm config set registry http://registry.npm.taobao.org npm get registry npm i --legacy-peer-deps npm run build

其实这种方案也解决了容器耗费节点临时资源太多被驱逐的问题,因为使用的存储卷。 仅做记录,供以后参考。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3